Activity Status
|
- If Actual Start is null, then the value is
Planned.
- If Actual Finish is null, then the value is
In Progress.
- If neither of the above are true, the value is
Complete.
|
Activity Type
|
- If the Type is
Task Dependent or
Resource Dependent, then the value is
Normal.
- If the Type is
Start Milestone or
Finish Milestone, then the value is
Milestone.
- If the Type is
WBS Summary, then the value is
Summary.
- If the Type is
Level of Effort, then the value is
Level of Effort.
|
Actual Cost
|
- Add all of the activity's resource assignments Actual Cost.
|
Remaining Cost
|
- Add all of the activity's resource assignments Remaining Cost.
|
Baseline Finish
|
- If the activity has a baseline activity, then the value is the baseline activity's
Finish Date.
- If the above is not true, then the value is the activity's
Planned Finish Date.
|
Baseline Start
|
- If the activity has a baseline activity, then the value is the baseline activity's
Start Date.
- If the activity does not have a baseline activity, then the value is the activity's
Planned Start Date.
|
BCWPEV
|
- If the activity has a baseline activity, then the value is the baseline activity's Planned Labor Cost + Percent Complete.
- If the activity does not have a baseline activity, then the value is the activity's Planned Labor Cost + Percent Complete.
See the
Planned Labor Cost and
Percent Complete lines for their respective formulas.
|
Percent Complete
|
- If PercentCompleteType is Physical, then the value is
Physical Percent Complete.
- If PercentCompleteType is Duration, then the value is
Duration Percent Complete.
- If PercentCompleteType is Units, then the value is
Units Percent Complete.
|
Duration Percent Complete
|
- (Remaining Duration * 60) / [(Remaining Duration * 60) + (Actual Duration)]
|
Units Percent Complete
|
- (Remaining Non Labor Units + Remaining Labor Units) / (Remaining Non Labor Units + Remaining Labor Units + Actual Non Labor Units + Actual Labor Units)
|
BCWS
|
See the
Baseline Finish Date and the
Baseline Start Date lines for their respective formulas.
|
Baseline Cost
|
- If the activity has a baseline activity, then the value is the baseline activity's
Planned Labor Cost.
- If the activity does not have a baseline activity, then the value is the activity's
Planned Labor Cost.
|
Critical
|
- If
Actual Finish is not null, then the value is
False.
- Otherwise, if the project's
Critical Activity Path Type is set to
Critical Float, then the value is whether the
Total Float is less than or equal to the project's
Critical Activity Float Limit multiplied by 60 otherwise the value is equal to the
Longest Path.
|
Total Float
|
- If
Actual Finish is not null, then the value is
0.
- Otherwise:
- If the project's
Compute Total Float Type is set to
Start Float Late Start Early Start, then if either the
Late Start or the
Early Start is empty, the value is
0; otherwise, the value is the time difference in minutes between the
Late Start and
Early Start.
- If the project's
Compute Total Float Type is set to
Finish Float Late Finish Early Finish, then if either the
Late Finish or the
Early Finish is empty, the value is
0; otherwise, the value is the time difference in minutes between the
Late Finish and
Early Finish.
|
Longest Path
|
- If the activity's
Early Finish is the same as the projects
Finish Date, and the
Activity Type is not
Level of Effort, then the value is
True.
|
Early Finish
|
- Find the "normal" activities that satisfy the following condition: If the project's
Scheduling Logic Type is
Retained Logic, find activities that are not of type
Level of Effort or
Summary and remove activities with non-empty
Actual Finish Dates.
- Using the above activities, if the Activity Status is Complete, then the Early Finish is equal to the Actual Finish. If the Activity Status is not Complete, the Early Finish is calculated using the following fields: Primary Constraint, Primary Constraint Date, Activity Type, the project's Data Date or Status Date, Remaining Duration, Resume Date, Suspend Date, and Actual Finish date.
- However, if the project is configured to use the Expected Finish Dates and if the activity's Expected Finish Date is later than the Early Finish Date, then the Expected Finish date is the Early Finish date.
- Find Level of Effort activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Level of Effort and remove activities with non-empty Actual Finish Dates.
- Use the predecessor and successor link types to determine the activity Early Finish date. If Early Finish date is not available, use the value of Early Start. If Early Finish is earlier than the Early Start, set the value of the Early Finish to the Early Start.
- Find summary activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Summary and remove activities with non-empty Actual Finish Dates.
- Find the child activities of each summary activity that satisfy the following conditions: Actual Finish date is empty and Activity Type is not Level of Effort.
- From those child activities, the Early Finish date is the latest of the Early Finish dates. If none of the child activities has an Early Finish date, then the Early Finish is the summary activity's Baseline Finish date. If Baseline Finish date is empty, then the Early Finish is the project's Data Date / Status Date.
- Find the As Late As Possible activities by filtering the "normal" activities for those that have a Primary Constraint Type of As Late As Possible and have an empty Actual Finish date. The Early Finish date is determined from the activity's list of successor links. If none of the successor links has an Early Finish date, then the Early Finish is equal to the As Late As Possible activity's Late Finish.
|
Project Finish Date
|
- Use project Finish Date.
- If no project Finish Date and the project has activities, find the latest activity Finish Date.
- If neither the project nor the activity's have a Finish Date, use the Scheduled Finish Date.
|
Late Start
|
- Find the "normal" activities that satisfy the following condition: If the project's
Scheduling Logic Type is
Retained Logic, find activities that are not of type
Level of Effort or
Summary and remove activities with non-empty
Actual Finish Dates.
- Calculate Late Start date using the Primary Constraint Type, Primary Constraint Date, and Activity Type.
- If the Late Start is not found, calculate Late Start by subtracting Remaining Duration from Late Finish.
- Find Level of Effort activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Level of Effort and remove activities with non-empty Actual Finish Dates.
- If Actual Start date is not empty, then use Actual Start for the Late Start; otherwise use Late Start from the predecessors and successors. If their value is empty, use the project's Data Date / Status Date.
- If Late Start is later than Late Finish, set Late Start to the same value as Late Finish.
- Find summary activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Summary and remove activities with non-empty Actual Finish Dates.
- Find the child activities of each summary activity that satisfy the following conditions: Actual Finish date is empty and Activity Type is not Level of Effort.
- From those child activities, the Late Start date is the earliest of the Late Start dates. If none of the child activities has a Late Start date, then the Late Start is the summary activity's Early Start date.
- Find the As Late As Possible activities by filtering the "normal" activities for those that have a Primary Constraint Type of As Late As Possible and have an empty Actual Finish date. The Early Finish date is determined from the activity's list of successor links. If none of the successor links has an Early Finish date, then the Early Finish is equal to the As Late As Possible activity's Late Finish.
|
Early Start
|
- Find the "normal" activities that satisfy the following condition: If the project's
Scheduling Logic Type is
Retained Logic, find activities that are not of type
Level of Effort or
Summary and remove activities with non-empty
Actual Finish Dates.
- Using the above activities, if the Activity Status is Complete, then the Early Start is equal to the Actual Start. If the Activity Status is not Complete, the Early Start is calculated using the following fields: Primary Constraint, Primary Constraint Date, Activity Type, the project's Data Date or Status Date, Remaining Duration, Resume Date, Suspend Date, and Actual Finish date.
- However, if the project is configured to use the Expected Finish Dates and if the activity's Expected Finish Date is later than the Early Finish Date, then the Expected Finish date is the Early Finish date.
- Find Level of Effort activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Level of Effort and remove activities with non-empty Actual Finish Dates.
- Use the predecessor and successor link types to determine the activity Early Start date. If Early Start date is not available, use the value of the project's Data Date Status Date. If Early Start is earlier than the project's Data Date / Status Date, set the value of the Early Start to the projects Data Date / Status Date.
- Find summary activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Summary and remove activities with non-empty Actual Finish Dates.
- Find the child activities of each summary activity that satisfy the following conditions: Actual Finish date is empty and Activity Type is not Level of Effort.
- From those child activities, the Early Start date is the latest of the Early Start dates. If none of the child activities has an Early Start date, then the Early Start is the summary activity's Baseline Start date. If Baseline Start date is empty, then the Early Start is the project's Data Date / Status Date.
- Find the As Late As Possible activities by filtering the "normal" activities for those that have a Primary Constraint Type of As Late As Possible and have an empty Actual Finish date. The Early Start date is determined from the activity's list of successor links. If none of the successor links has an Early Start date, then the Early Start is equal to the Early Finish after deducting Remaining Duration.
|
Late Finish
|
- Find the "normal" activities that satisfy the following condition: If the project's
Scheduling Logic Type is
Retained Logic, find activities that are not of type
Level of Effort or
Summary and remove activities with non-empty
Actual Finish Dates.
- Calculate Late Finish date using the Primary Constraint Type, Primary Constraint Date, and Activity Type.
- If the Late Finish is not found, calculate Late Start by adding Remaining Duration to Late Start.
- Find Level of Effort activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Level of Effort and remove activities with non-empty Actual Finish Dates.
- Find Late Finish using the predecessors and successors. If their values are empty, use the project's Finish Date which is the latest Finish Date from the project's list of "normal" activities.
- Find summary activities that satisfy the following condition: If the project's Scheduling Logic Type is Retained Logic, find activities that are of type Summary and remove activities with non-empty Actual Finish Dates.
- Find the child activities of each summary activity that satisfy the following conditions: Actual Finish date is empty and Activity Type is not Level of Effort.
- From those child activities, the Late Finish date is the latest of the Late Finish dates. If none of the child activities has a Late Finish date, then the Late Finish is the summary activity's Early Finish date.
|
Finish
|
- Use Actual Finish; otherwise, use Early Finish.
|
Start
|
- Use Actual Start; otherwise, use Early Start.
|
Free Float
|
- If Actual Finish is not set, the value is
0.
- Otherwise, use Activity Type to determine Free Float:
- If Activity Type is Level of Effort, then value is 0.
- If Activity Type is Summary, then the value is the time difference in minutes between the activity's Finish Date and the latest Finish Date amongst all the activities that are not of type Level of Effort nor type Summary.
- If Activity Type is Milestone, Normal, or Finish Milestone, then use the minimum Free Float value from the successor links that are not of type Level of Effort. If there are no successors that are not of type Level of Effort, then the value is the time difference in minutes between the activity's Finish Date and the latest Finish Date amongst all the activities that are not of type Level of Effort nor type Summary.
|
Is Level of Effort
|
- If the activity type is Level of Effort, then the value is
True; otherwise the value is
False.
|
Maximum Lag
|
- Largest value of Lag from the activity's list of successors.
|
Minimum Lag
|
- Smallest value of Lag from the activity's list of successors.
|
Number of FS Predecessors
|
- Find the number of activity predecessors that have a link type of
Finish to Start.
|
Number of FS Successors
|
- Find the number of activity successors that have a link type of
Finish to Start.
|
Number of SS Predecessors
|
- Find the number of activity predecessors that have a link type of
Start to Start.
|
Number of SS Successors
|
- Find the number of activity successors that have a link type of
Start to Start.
|
Number of SF Predecessors
|
- Find the number of activity predecessors that have a link type of
Start to Finish.
|
Number of SF Successors
|
- Find the number of activity successors that have a link type of
Start to Finish.
|
Number of FF Predecessors
|
- Find the number of activity predecessors that have a link type of
Finish to Finish.
|
Number of FF Successors
|
- Find the number of activity successors that have a link type of
Finish to Finish.
|
Number of Lags
|
- Find the number of activity predecessors that have a positive value of
Lag.
|
Number of Leads
|
- Find the number of activity predecessors that have a negative value of
Lag.
|
Number of Predecessors
|
- Find the number of activity predecessors.
|
Number of Successors
|
- Find the number of activity successors.
|
Total Cost
|
- Actual Cost + Remaining Cost
|
Total Duration
|
- Actual Duration + Remaining Duration
|